ESPnet による音声認識入門 ~ESPnet Model Zoo 編~
今回は、日本語話し言葉コーパス(CSJ)で学習した日本語音声認識モデル kan-bayashi/csj_asr_train_asr_transformer_raw_char_sp_valid.acc.ave を使ってみます。
このモデルはサンプリングレートが 16000 Hz の音声に対応しています。
sample.wav
坊っちゃんの一節
code:say.sh
$ say 親譲りの無鉄砲で子供の時から損ばかりしている -o sample.wav --data-format=LEF32@16000
code:python
>> from espnet_model_zoo.downloader import ModelDownloader
>> from espnet2.bin.asr_inference import Speech2Text
>> from scipy.io import wavfile
>> d = ModelDownloader()
>> speech2text = Speech2Text(**d.download_and_unpack("kan-bayashi/csj_asr_train_asr_transformer_raw_char_sp_valid.acc.ave"))
>> type(speech2text)
<class 'espnet2.bin.asr_inference.Speech2Text'>
>> sampling_rate, audio_array = wavfile.read("sample.wav")
<stdin>:1: WavFileWarning: Chunk (non-data) not understood, skipping it.
>> sampling_rate
16000
>> audio_array.shape
(73781,)
>> audio_array.dtype
dtype('float32')
>> nbests = speech2text(audio_array)
>> text, tokens, *_ = nbests0 >> text
'親譲りの無鉄砲で子供の時から損ばかりしている'
ModelDownloader & download_and_unpackメソッド